clc; % 清屏
clear; % 清除数据内存

% 数据库连接参数
dbhost = 'localhost';   % 数据库主机名，设为本地主机
dbport = 3306;          % 数据库端口号
dbname = 'disease_gene'; % 数据库名称
username = 'root';      % 数据库用户名
password = 'admin';     % 数据库密码

% 连接到数据库
conn = database(dbname, username, password, 'Vendor', 'MySQL', 'Server', dbhost, 'Port', dbport);

% 检查是否成功连接到数据库
if isopen(conn)
    disp('成功连接到数据库！');
else
    error('无法连接到数据库。');
end

% 加载数据
load('D:\Program Files\DHRLS-master\dataset\perception_foresee.mat')
matrix = A_cos_com;
[num_rows, num_cols] = size(matrix);

% 找到每行的前50个最大值并插入数据库
for i = 1:num_rows
    % 对当前行进行排序
    [~, sorted_indices] = sort(matrix(i, :), 'descend');
    
    % 选择前50个最大值
    top_50_indices = sorted_indices(1:50);
    
    % 获取对应的值并插入数据库
    for j = 1:length(top_50_indices)
        column_id = top_50_indices(j);
        value = matrix(i, column_id);
        
        % 插入数据到数据库表格中
        sql_query = sprintf("INSERT INTO connection (row_id, column_id, value) VALUES (%d, %d, %f)", i, column_id, value);
        exec(conn, sql_query);
    end
end

% 关闭数据库连接
close(conn);
